Image highlight correction using illumination specific hsv color coordinate

ABSTRACT

An image highlight correction method comprising the steps of mapping the image data from RGB color coordinates to an illumination specific HSV color coordinate system the value axis of which is in the direction of the light source, estimating highlight free HSV coordinates for each pixel, and restoring a highlight free image in RGB representation. Image highlight correction programs and image acquisition systems that make use of this image highlight correction method are also disclosed.

TECHNICAL FIELD

[0001] This invention concerns a method for estimating the underlying colors of image highlights in machine vision applications. Most machine vision applications involve analysis of images resulting from the reflectance of light. Object surface color Is one of the most important pieces of information for computer vision. Colors recorded as images, however, do not specify the true colors of an object's surface. They also contain specular or interface reflectance, which appears as highlight or gloss on the object. In some cases, the highlight may be so strong that an imaging device's detecting elements, which capture the highlighted parts, become saturated.

BACKGROUND ART

[0002] When we look at reflected light L of a dielectric material, such as plastic, we usually see two distinct reflection components: a specular or interface reflection component L_(s) and a diffuse or body reflection component L_(b). The specular or interface reflection occurs at the surface and in only one direction, such that the incident light beam, the surface normal, and the reflected beam are coplanar, and the angles of the incident and reflected light with respect to the surface normal are equal. In general, L_(s) has approximately the same power distribution as the illumination and appears as a highlight or gloss on the object. Hence, it is also referred to as illuminant color.

[0003] As shown in FIG. 1, not all of the incident light is reflected at the surface and some penetrate into the material. The refracted light beam travels through the medium, hitting pigments from time to time. Within the material, the light rays get reflected and refracted repeatedly at boundaries that have different refractive indices. Some of the scattered light ultimately find their way back to the surface and exit from the material in various directions, forming a diffuse or body reflection component L_(b). This component carries object color information and is also referred to as object or body color.

[0004] The dichromatic reflectance model (DRM) assumes that the reflected light L from a dielectric object surface such as plastic, paint, paper, and ceramic is a mixture of the specular reflection component L_(s) and the body reflection component L_(b). Mathematically, the model can be formulated as:

L(λ, φ, ψ, θ)=L _(s)(λ, φ, ψ, θ)+L _(b)(λ, φ, ψ, θ), or simply,

L(λ, φ, ψ, θ)=m _(s)(φ, ψ, θ)C _(s)(λ)+m _(b)(φ, ψ, θ)C _(b)(λ)   Eq. (1)

[0005] where λ is the wavelength, and the parameters φ, ψ, θ describe angles of the incident and emitted light and the phase angle. The terms, m_(s) and m_(b), are the geometric scale factors, while C_(s)(λ) and C_(b)(λ) are the specular color and body color vectors, respectively.

[0006] If the description of the scene radiance is restricted to the three narrow wavelength bands of the red, green and blue spectra range of visible light, as it is the case in a TV camera, then the scene radiance can be represented as a 3×1 color vector:

C(x, y)=m _(s)(φ, ψ, θ)C _(s) +m _(b)(φ, ψ, θ)C _(b)(x, y)   Eq. (2)

[0007] where (x, y) specifies a pixel position and C(x, y) is the observed color vector. As can be observed in FIG. 2, this equation implies that the observed color C(x, y) is distributed on a plane which is spanned by the two vectors C_(s) and C_(b)(x, y). The term C_(s) does not depend on the pixel position since it represents a single illuminant color. Thus if the vectors C_(s) and C_(b)(x, y) can be estimated, the specular reflectance can be distinguished from the diffuse reflectance, thereby enabling the diffuse reflectance, in other words the true color, to be obtained.

[0008] In prior arts, the above estimation is carried out by a multiple illumination method (N. Nayar, K. Ikeuchi and T. Kanade, “Determining Shape and Reflectance of Hybrid Surfaces by Photometric Sampling”, IEEE Trans. on Robotics and Automation, Vol.6, No.4, pp.418-431 (1990)), or by a multiple image method (M. Otsuki, Y. Sato, “Highlight Separation Using Multiple Images with Intensities and Ranges”, MVA'96, IAPR Workshop on Machine Vision Application, pp.293-296 (1996)). In the multiple illumination method, a plurality of illumination sources are used while viewing the image from the same point, in other words, the C_(s) component is varied to estimate the C_(b) component and solve equation (2) to obtain the true object color. In the multiple image method, the same effect is achieved using a single fixed light source and observing the image of the object from several different orientations.

[0009] The prior arts employ DRM and attempt to estimate the object color using the patterns of reflectance color distribution that pixels of various regions of an image form in color space. However, the approach is not effective for correct estimation of object colors when an analyzed region of the image consists of several different color clusters, as in the case of an image of an object with fine or intricate color variations. Furthermore, both of the above methods require specialized apparatus (i.e. multiple light sources or a device enabling the capturing of images from different orientations) and setup environment and take long processing times. These methods therefore cannot be applied flexibly to objects under all environments and do not adequately answer the high-speed requirements of machine vision applications.

DISCLOSURE OF INVENTION

[0010] An object of this invention is therefore to provide a fast highlight correction method that can be implemented in a single illumination and single image setup, which does not require specialized apparatus or setup environment. Another object of this invention is to enable, for at least the unsaturated or valid pixels of the image of an object, the determination of the true color of each pixel independently of the other pixels to thereby enable the true colors of an object, having fine or intricate color variations, to be estimated readily. Yet another object of this invention is to introduce a new multiple illumination, multiple view, or combined multiple illumination and multiple view method as an alternative means for more accurate estimation of the object colors of the strongly highlighted parts, which completely saturate the imaging device's detecting elements that capture the highlighted segments.

[0011] In order to achieve the above objects, this invention proposes an illumination specific HSV color coordinate system, the intensity axis of which lies in the direction of the light source and which provides an image highlight correction method comprising the steps of mapping the image data from RGB color coordinates to the abovementioned illumination specific HSV color coordinates, estimating highlight free HSV coordinates for each pixel, and restoring a highlight free image in RGB representation.

[0012] In estimating the true object color, this method divides the image data into a group of valid pixels, for which the imaging device's detecting elements have not been saturated (e.g., on which the DRM can be used), and a group of non-valid pixels, for which the imaging device's detecting elements have been saturated. Accurate object colors of the valid pixel group are estimated by projecting the pixels along the light source vector onto the S-H plane of the illumination specific HSV color coordinate and determining highlight free HSV color coordinates for the pixels. The approach enables true object color estimation of each pixel independent of other pixels, thus allowing the true colors of an object having fine or intricate variations of color to be estimated readily. The true RGB color coordinates of each non-valid pixel is estimated using an association with the colors of neighboring non-highlighted pixels as non-valid pixels do not obey DRM.

[0013] This method enables the true colors of an object to be estimated using a single illumination source and a single image, thus providing the advantage of being a fast method, and can be implemented in a system that does not require a specialized apparatus or setup environment Furthermore, for at least the valid pixels of the image of an object, the true color of each pixel is determined independently of the other pixels, thus enabling the true colors of an object, having fine or intricate variations of color, to be estimated readily.

[0014] For an imaging environment where non-valid pixels constitute a considerable portion of the image, the new art introduces a new multiple illumination, multiple view, or combined multiple illumination and multiple view method for more accurate estimation of the object colors of the strongly highlighted (saturated) image segments. In the proposed multiple illumination, multiple view, or combined multiple illumination and multiple view approach, for each abovementioned non-valid pixel, a corresponding valid pixel is obtained from the other image(s). Though this approach utilizes more than one image or light source, it uses the RGB projection approach for image highlight correction, thus still maintaining the advantage of enabling the true colors of an object, having fine or intricate variations of color, to be estimated readily. Furthermore, a minimum of two images or illumination is sufficient for this purpose, as specular reflectance observed in a pixel of one image will not be observed in the corresponding pixel of another image captured under a different setup of illumination, view, or combination thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015]FIG. 1 is a schematic view of light reflection by a dielectric material.

[0016]FIG. 2 is a perspective view of a dielectric object's reflectance color distribution in RGB color space.

[0017]FIG. 3 is a schematic representation of RGB color space.

[0018]FIG. 4 is a schematic representation of HSV color space.

[0019]FIG. 5 is an image of a bread sample with which the red jam at its center is highlighted.

[0020]FIG. 6 is a perspective view of the specular and object colors of the bread sample image of FIG. 5.

[0021]FIG. 7 shows the data of FIG. 6 as viewed along the light source vector.

[0022]FIG. 8 is a schematic view of the projection of an image pixel onto the x-y plane.

[0023]FIG. 9 is a schematic view of an image acquisition system, which is an embodiment of this invention.

[0024]FIG. 10 is a flowchart of a highlight correction program, which is an embodiment of this invention.

[0025]FIG. 11 is a graphical representation of the S-H plane.

[0026]FIG. 12 is a flowchart of a non-highlight value coordinate determination subroutine.

[0027]FIG. 13 shows an example of an image prior to highlight correction.

[0028]FIG. 14 shows an example of an image obtained by highlight correction of valid pixels by the highlight correction program.

[0029]FIG. 15 shows an example of an image obtained by highlight correction, which also include non-valid pixels.

BEST MODE FOR CARRYING OUT THE INVENTION

[0030] First, the relationship of RGB color space and HSV color space, which is relevant to understanding this invention, shall be described briefly.

[0031] RGB color space is a hardware-oriented scheme that is based on the way camera sensors and display phosphors work. In RGB color space, the three primary colors of red, green and blue are assigned to the three independent axes of a cube as shown in FIG. 3. In this space, the grey scale lies along the cube diagonal with additive progression from black to white. The complementary colors of cyan, magenta, and yellow (CMY), which are used for printing, are located on the opposite corners such that combining green and blue produce cyan, blue and red produce magenta, and red and green produce yellow.

[0032] Although RGB color space is very useful for image representation, there are other encoding schemes that are more useful in image analysis. One such color space is hue, saturation and value (HSV) color space, which is illustrated in FIG. 4. In this space, the primary colors lie along a ring and are separated from each other by 120 degrees, the secondary colors lie in-between the primary colors, and a solid ring of colors spanning all of the spaces between the primaries is created. The solid ring, which holds the hue coordinate, indicates the color as described by wavelength. The radius of the ring, which holds the saturation coordinate, indicates the amount of color that is present. A line normal to the hue-saturation plane holds the value (intensity) coordinate and indicates the amount of light that is present.

[0033] The HSV model closely resembles human perception of color and its components are similar to the artist's concept of tint, shade and tone. The space in which these values are plotted can be shown by a pair of circular cones, as shown in FIG. 4. Actually, the 3D representation of the HSV model is derived from the RGB model cube. As indicated in “Hue, Saturation, and Value Color Model”, http://www.education.siggraph.org/materials/HyperGraph/color/colorhs.htm(accessed April 2001), when the RGB cube is viewed along the grey diagonal, a hexagonal shape, which is the HSV hexacone, can be seen.

[0034]FIG. 2 shows a perspective view of a dielectric objects reflectance color distribution in RGB color space. If the same points in the cube are viewed by looking in the direction of the light source vector C_(s), the specular reflectance points should ideally appear as a single point (clouds of overlapped points, in general). Experimental results of this phenomenon, using an image of a bread sample, shall now be discussed.

[0035]FIG. 5 shows an image of a bread sample with which the red jam at its center is highlighted. This figure is shown in the form of a grey scale representation due to limitations in the use of colors and the red jam part of the bread appears as the dark region at the center of the figure. FIG. 6 is a perspective view of the specular and object colors of the bread sample image of FIG. 5. FIG. 6 is analogous to FIG. 2, and shows the reflectance color distribution of the illuminated red jam. FIG. 7 shows the same data as viewed along the light source vector C_(s). For these data, all object colors fall on the red axis, as there are no green or blue components present. Similarly, due to the absence of various red shades on the image, the existing object color points are located close to each other. As can be observed, FIG. 6 closely resembles FIG. 2, and in FIG. 7, the highlight color appears more or less as clouds of overlapped points. For the sake of clarity, only ten points of each reflectance type (non-highlighted and highlighted) are shown.

[0036] As can be understood from FIG. 7, when the object color points are projected along the light source vector, the points converge together around a point on the red axis, thus revealing that the dominant color of the points is red. Projection onto a plane, which is perpendicular to the light source vector C_(s) and shall be referred to as the x-y plane, is thus equivalent to nulling the C_(s) vector.

[0037] In the present invention, this x-y plane is associated with an illumination specific HSV coordinate system by means of a polar coordinate transformation or r, θ conversion. In other words, this x-y plane is equivalent, via an r, θ conversion and offset operations, to an illumination specific S-H plane, which is skewed and offset in origin in relation to the S-H plane of the above-described standard HSV coordinate system. The key element in the highlight processing procedure of the new art is this illumination specific HSV color coordinate system. The invention defines the illumination specific HSV color coordinate system as that which is obtained by viewing the RGB cube in the direction of the light source vector. Such an illumination specific HSV color coordinate system will therefore have its intensity axis along the light source vector and its S-H plane perpendicular to the light source vector. In fact, the standard HSV color coordinate system, derived from the RGB color coordinate system by viewing the RGB cube in the direction of grey diagonal, can be treated as a special case of the illumination specific HSV color coordinate system for a colorless illuminant.

[0038] With the highlight correction method, based on the illumination specific HSV coordinate system, the RGB image coordinates of the image pixels are projected along the direction of the intensity axis onto the x-y plane as shown in FIG. 8. The projected points are then associated with the hue (H) and saturation (S) coordinates, thus revealing the underlying color of the projected image points that contain highlights. An appropriate value coordinate estimation is then performed to provide a highlight free image in the standard HSV color coordinate system, which can subsequently be transformed into an equivalent highlight free image in the RGB color coordinate system.

[0039] A preferred embodiment of this invention shall now be described. FIG. 9 is a schematic view of an image acquisition system 1, which is an embodiment of this invention. Image acquisition system 1 is comprised of a sample stage 2, a camera 3 (FUJIX DS-330; 8-bit; 1.4M pixels; made by Fuji Film Corp.), and a light source 4. Camera 3 is the color imaging device and is set normal to the sample stage. Light source 4 is comprised of two pairs of special fluorescent lamps (True Light; color rendering index=91; color temperature=5500K; made by DURO-TEST), which are set to illuminate a sample object 5 (bread in the case of the present example) at an angle of incidence of 45°. Camera 3 is connected via an RS-232C cable to a computer 6.

[0040] An exemplary case of obtaining images for highlight correction by a method of this invention shall now be described. In this example, camera 3 was set to auto focus, manual exposure, and manual aperture mode. A white diffuser paper (not shown), having a 90% reflectivity in the visible range, was set on sample stage 2 and used for white balance adjustment of camera 3. Camera 3 was then held manually to obtain images of the pair of lamps of light source 4 at direct incidence. Two images of light source 3 were thus captured at different exposure time and aperture settings of camera 3, which were set so that there were no saturated pixels. These light source images LI1 and LI2 of light source 3 were then transferred as JPEG images to computer 6.

[0041] The exposure time, aperture, height, and zooming factor of camera 3 were then adjusted so that the reflectance RGB image of white diffuser paper will be such that the R, G, and B values of this RGB image will be approximately 80% of camera 3's dynamic ranges for R, G, and B, respectively, to ensure that the R, G, and B values of even the brightest non-highlighted pixel of an object image will be within 80% of camera 3's dynamic ranges. This also ensures that a pixel with an R, G, or B value in the excess of 80% of the corresponding dynamic range must be a highlighted pixel. However, it should be noted that a pixel with R, G, and B values less than 80% of the corresponding dynamic ranges may either be a highlighted pixel or a non-highlighted pixel. The exposure time was thus set to 10 msec, the aperture to F5.6, and the height to 46.3 cm. The dark signal and the reference signal of camera 3 were then measured. The abovementioned white diffuser paper was used as the reference sample and its image IREF was transferred as a JPEG image to computer 6.

[0042] A uniform blue background, for facilitating background elimination, was then set on sample stage 2 and sample object 5 was set on this blue background. The sample object image OI that was captured by camera 3 under the abovementioned conditions was then transferred as a JPEG image to computer 6 and the abovementioned light source images and object image were subject to the below-described processing by a computer program.

[0043]FIG. 10 is a flowchart of the highlight correction program that is installed in computer 6. First, in step S1, light source images LI1 and LI2 and object image OI are respectively converted into bitmap images. Light source images LI1 and LI2 are then subject to a light source color vector acquisition subroutine (S2) to obtain the color of light source 4 as a vector in RGB color space. That is, for each of the light source images LI1 and LI2, the average RGB values of a central region of the image is obtained, and from these average RGB coordinates (R_(L1), G_(L1), B_(L1)) and (R_(L2), G_(L2), B_(L2)) of the two images, the RGB coordinates (R_(LV), G_(LV), B_(LV)) of a normalized unity light source vector LV are obtained as follows:

R _(LV)=(R _(L1) −R _(L2))/{(R _(L1) −R _(L2))²+(G _(L1) −G _(L2))²+(B_(L1) −B _(L2))²}^(1/2)   Eq. (3)

G _(LV)=(G _(L1) −G _(L2))/{(R _(L1) −R _(L2))²+(G _(L1) −G _(L2))²+(B _(L1) −B _(L2))²}^(1/2)   Eq. (4)

B _(LV)=(B _(L1) −B _(L2))/{(R_(L1) −R _(L2))²+(G _(L1) −G _(L2))²+(B _(L1) −B _(L2))²}^(1/2)   Eq. (5)

[0044] Next, in a pixel validity evaluation subroutine (S3), the validity of each pixel of object image OI is evaluated based on the criterion that the RGB coordinates of a valid pixel are within 98% of camera 3's dynamic range of 255, which corresponds to 8 bits. A set of valid pixels, (R₁, G₁, B₁) to (R_(n), G_(n), B_(n)) (n is an integer that indicates the number of valid pixels), each of which satisfies all of the following conditions, is thus obtained:

R_(i)≦250

G_(i)≦250

B_(i)≦250

[0045] where n=1, 2, . . . n.

[0046] Next, in an HSV color coordinate plane projection subroutine (S4), all of the valid pixels (R₁, G₁, B₁) to (R_(n), G_(n), B_(n)) of object image OI are projected, along the unity light source vector LV, onto the x-y plane of an illumination specific HSV color coordinate system. With this coordinate system, the x-y plane is defined as the plane that is perpendicular to the unity light source vector LV and passes through the origin of RGB color space, the origin is defined by the origin of the RGB space, the x-axis is defined by the axis, which connects said origin and the point of projection of the unit base vector, OX(0, 0, 1), along the unity light source vector LV onto the x-y plane, the y-axis is defined as the axis perpendicular to the x-axis and lying in the x-y plane, and the z-axis is defined as the axis, which passes through the origin and is perpendicular to both the x-axis and y-axis. That is, for each valid pixel (R_(i), G_(i), B_(i)) (i=1 to n), the following equations are used to obtain the coordinates of the projected pixel (R′_(i), G_(i), B_(i)) (i=1 to n):

PP′=|(R_(LV) ×R _(i))+(G _(LV) ×G _(i))+(B _(LV) ×B _(i))|  Eq. (6)

R′ _(i) =R _(i)−(PP′×R _(LV))   Eq. (7)

G′ _(i) =G _(i)−(PP′×G _(LV))   Eq. (8)

B′ _(i) =B _(i)−(PP′×B _(LV))   Eq. (9)

[0047] The projected pixels (R′_(i), G′_(i), B′_(i)) are then subject to an r, θ coordinate conversion subroutine (S5), in which the coordinates of the projected pixels (R′_(i), G′_(i), B′_(i)) on the x-y plane are converted into the polar coordinates of a polar coordinate system with which the θ coordinate is associated with the hue value and the r coordinate is associated with the saturation value. That is, for each projected pixel (R′_(i), G′_(i), B′_(i)) (i=1 to n), r_(i), which is the length of the radius vector OP′_(l) from the origin to a projected pixel (R′_(l), G′_(l), B′_(l)), and θ_(i), which is the counterclockwise angle in degrees of each projected pixel with respect to the x-axis vector OX, are determined as follows:

r _(i) =|OP′ _(l)|=(R′ _(l) ² +G′ _(l) ² +B′ _(i) ²)^(1/2)   Eq. (10)

θ_(l)=cos⁻¹((OX·OP′ _(l))/(|OX|−|OP′ _(i)|))   Eq. (11)

[0048] where · denotes the dot product. The cross product of the vectors OP′_(i) and OX is then used to distinguish an angle θ_(i) from its complement. That is, if (OX {circle over (X)} OP′_(i)) (where {circle over (X)} denotes the cross product) is less than 0, the corresponding θ_(i) is set equal to 360.0−θ_(i).

[0049] Next in a saturation and hue value conversion subroutine (S6), the r, θ coordinates are converted to saturation and hue values. In this subroutine, first the RGB coordinates of the three pure primary colors RED (=(255, 0, 0)), GREEN (=(0, 255, 0)), and BLUE (=(0, 0, 255)) are projected, along the abovementioned unity light source vector LV, onto the abovementioned x-y plane of the illumination specific HSV coordinate system. That is, for example, the projection of the primary color RED (=(255, 0, 0)) onto the illumination HSV coordinate system is carried out by the following equations:

R coordinate of projected point of RED=R′RED=255−(|(R _(LV)×255)+(G _(LV)×0)+(B _(LV)×0)|×R_(LV))   Eq. (12)

G coordinate of projected point of RED=G′RED=0−(|(R _(LV)×255)+(G _(LV)×0)+(B _(LV)×0)|×G_(LV))   Eq. (13)

B coordinate of projected point of RED=B′RED=0−(|(R _(LV)×255)+(G _(LV)×0)+(B _(LV)×0)|×B _(LV))   Eq. (14)

[0050] This projected point is then subject to the same r, θ coordinate conversion described above to provide the coordinates r_(REDIS) and θ_(REDIS) in the x-y plane of the illumination specific HSV coordinate system. That is, for the projected point (R′RED, G′RED, B′RED), r_(REDIS), which is the length of the radius vector ORED′ from the origin to (R′RED, G′RED, B′RED), and θ_(REDIS), which is the counterclockwise angle in degrees of (R′RED, G′RED, B′RED) with respect to the x-axis vector OX, are determined as follows:

r_(REDIS) =|ORED′|=(R′RED² +G′RED² +B′RED²)^(1/2)   Eq. (15)

θ_(REDIS)=cos⁻¹((OX·ORED′)/(|OX|−|ORED′|))   Eq. (16)

[0051] where · denotes the dot product.

[0052] The cross product of the vectors ORED′ and OX is then used to distinguish an angle θ_(REDIS) from its complement. That is if (OX{circle over (×)}ORED′) (where {circle over (×)} denotes the cross product) is less than 0, the corresponding θ_(REDIS) is set equal to 360.0−θ_(REDIS).

[0053] The above processes are repeated for GREEN and BLUE to obtain their respective r, θ coordinates r_(GREENIS), θ_(GREENIS) and r_(BLUEIS), θ_(BLUEIS).

[0054] The saturation (S) and hue (H) values of the primary colors RED, GREEN, and BLUE in the S-H plane of the standard HSV color coordinate system are known and are S=255, H=0°; S=255, H=120°; and S=255, H=240°, respectively, as shown in graphical representation of the S-H plane shown FIG. 11, which is shown in the form of a grey scale representation due to limitations in the use of colors. Here, the standard saturation (S) range notation of 0-1, or 0%-100% is denoted by the range 0-255 of camera 3 to simplify its association with the projected RGB values. The scaling factors, SF_(RED), SF_(GREEN), and SF_(BLUE), and the offset, ANGDIFF, that associate the x-y plane of the illumination specific HSV color coordinate system and the standard HSV color coordinate system are

[0055] thus derived as follows:

SF _(RED)=(255/r _(REDIS))   Eq. (17)

SF _(GREEN)=(255/r _(GREENIS))   Eq. (18)

SF _(BLUE)=(255/r _(BLUEIS))   Eq. (19)

ANGDIFF=θ_(REDIS)−0 °  Eq. (20)

[0056] The above scaling factors SF_(RED), SF_(GREEN), and SF_(BLUE) and offset ANGDIFF are then applied to r, θ coordinates r_(i) and θ_(i) of the projected image pixel points as follows to obtain the estimated true saturation S_(i) and hue H_(i) values, respectively, of the projected image pixel points:

H _(i)=θ_(i)−ANGDIFF   Eq. (21)

H _(i)=360.0°+H _(i) if H _(i)<0.0°  Eq. (22)

S_(i) =r _(i) ×SF _(RED) if H _(i)<60.0° or H _(i)≧300.0+  Eq. (23)

S _(i) =r _(i) ×SF _(GREEN) if 60.0°≦H _(i)<180.0°  Eq. (24)

S _(i) =r _(i) ×SF _(BLUE) if 180.0°<H _(i)<300.0°  Eq. (25)

[0057] To summarize the above processes, the valid pixels (R_(i), G_(i), B_(i)) (i=1 to n) of object image OI are mapped along the unity light source vector LV onto the x-y plane of the illumination specific HSV color coordinate system as projected pixels (R′_(i), G′_(i), B′_(i)) (i=1 to n), then converted to polar coordinates (r_(i), θ_(i)) (i=1 to n), which are furthermore converted to SH coordinates (S_(i), H_(i)). What must now be carried out is the estimation of the non-highlight value coordinate V_(i) of each valid pixel.

[0058] The non-highlight value coordinate V_(i) of each valid pixel is estimated in a non-highlight value coordinate determination subroutine (S7). FIG. 12 shows a flowchart of this subroutine.

[0059] First, in step S21, the values of indices i, j, and k are initialized to 1. Then in step S22, it is judged whether or not the saturation (S) value of the ith pixel is less than a threshold value THV. In the present embodiment, the threshold value THV is set to 25% of the full scale of camera 3.

[0060] If the S value of the ith pixel is judged to be less than the threshold value THV, the ith pixel is deemed to be a monochromatic pixel and the monochromatic pixel index M_(j) is set equal to I, and the maximum non-highlight red value, R_Max, maximum non-highlight green value, G_Max, and maximum non-highlight blue value, B_Max, which are to be used in subsequent steps, are set as follows in step S23:

R_Max=R_(W)   Eq. (26)

G_Max=G_(W)   Eq. (27)

B_Max=B_(W)   Eq. (28)

[0061] where R_(W) is the R value of the white diffuser image, G_(W) is the G value of the white diffuser image, and B_(W) is the B value of the white diffuser image. That is, R_(W), G_(W), and B_(W) are the brightest non-highlighted intensities that can be obtained under the image acquisition setup described above. The index j is then incremented in step S24 and then step S27 is entered.

[0062] On the other hand, if the S value of the ith pixel is judged to be greater than or equal to the threshold value THV, the ith pixel is deemed to be a colored pixel, and the colored pixel index C_(k) is set equal to i, and R_Max, G_Max, and B_Max are set as follows in step S25:

R_Max=R _(W)×ρ1   Eq. (29)

G_Max=G _(W)×ρ2   Eq. (30)

B_Max=B _(W)×ρ3   Eq. (31)

[0063] In the above, ρ1, ρ2, and ρ3 are the reflectivity ratios of a red diffuser, green diffuser, and blue diffuser, respectively. In the present embodiment, the reflectivity ratios that are provided by the maker (Japan Color Research Institute) of the respective diffusers were used.

[0064] The index k is then incremented in step S26 and then step S27 is entered.

[0065] Steps S21 to S26 comprise a maximum non-highlight value determination subroutine.

[0066] In step S27, it is judged whether or not the hue value H_(i) of the ith pixel is such that H_(i)<60.0 or H_(i)≧300.0. If the hue value H_(i) of the ith pixel is such that H_(i)<60.0 or H_(i)≧300.0, step S28 is entered and whether or not the red (R_(i)) value of the ith pixel is less than the maximum non-highlight red value R_Max is judged. If R_(i) is less than R_max, the value coordinate V_(i) of the ith pixel is set equal to R_(i) in step S29. If R_(i) is judged not to be less than R_max in step S28, the value coordinate V_(i) of the ith pixel is set equal to R_Max in step S30. Thereafter, step S38 is entered.

[0067] If on the other hand, the hue value H_(i) of the ith pixel is not such that H_(i)<60.0 or H_(i)≧300.0, step S31 is entered and it is judged whether or not the hue value H_(i) of the ith pixel is such that 60.0≧H_(i)<180.0. If the hue value Hi of the ith pixel is such that 60.0≦H_(i)<180.0, step S32 is entered and whether or not the green (G_(i)) value of the ith pixel is less than the maximum non-highlight green value G_Max is judged. If G_(i) is less than G_max, the value coordinate V_(i) of the ith pixel is set equal to G_(i) in step S33. If G_(i) is judged not to be less than G_max in step S32, the value coordinate V_(i) of the ith pixel is set equal to G_Max in step S34. Thereafter, step 838 is entered.

[0068] If in step S31, it has been judged that the hue value H_(i) of the ith pixel is not such that 60.0≦H_(i)<180.0, step S35 is entered and whether or not the blue (B_(i)) value of the ith pixel is less than the maximum non-highlight blue value B_Max is judged. If B_(i) is less than B_max, the value coordinate V_(i) of the ith pixel is set equal to B_(i) in step S36. If B_(i) is judged not to be less than B_max in step S35, the value coordinate V_(i) of the ith pixel is set equal to B_Max in step S37. Thereafter, step S38 is entered.

[0069] In step S38, the index i is incremented by 1. Then in step S39, whether or not i is greater than n, which is the number of valid pixels, is judged. If i is not greater than n, a return to step S22 is performed while if i is greater than n, a return to the main routine, shown in FIG. 10, is performed.

[0070] Upon return to the main routine, the true RGB coordinate estimation subroutine (S8) is entered. In this subroutine, the true RGB coordinates of each of the valid colored pixels, (R_(ci), G_(ci), B_(ci)) (C_(i)=C₁ to C_(k-1)), are estimated from the S, H, and V values by a known HSV-RGB transformation method (for example, that described in “Color Conversion Algorithms”, http://www.cs.rit.edu/˜ncs/color/t convert.html (accessed April 2001)), the true RGB coordinates of each of the monochromatic pixels, (R_(Mi), G_(Mi), B_(Mi)) (M_(i)=M₁ to M_(j-1)), are estimated using the following Eq. (32):

R=G=B=V   Eq. (32)

[0071] and the true RGB coordinates of each non-valid pixel are estimated as being equal to the RGB coordinates of a nearest neighboring non-highlighted pixel with respect to the non-valid pixel. In the present example, the pixels were processed from the upper left corner of the image to the lower right corner. The non-highlighted pixel, (i.e., a valid pixel for which the R, G and B values are less than or equal to R_Max, G_Max, and B_Max, respectively, of Eqs. 29, 30 and 31), which was most recently processed prior to a non-valid pixel, is used as the nearest neighboring non-highlight pixel for determining the RGB coordinates of the non-valid pixel.

[0072] When the estimated true RGB coordinates have been determined for both the valid and non-valid pixels, the true RGB coordinate estimation subroutine (S8) is completed, thus completing the image highlight correction program of the embodiment. An example of an image prior to highlight correction is shown in FIG. 13. This image is that of a bread wrapped in transparent, colorless plastic, and the saturated highlighted parts of high specular reflectance can be seen as bright white parts in the image. FIG. 14 shows an example of an image obtained by highlight correction of valid pixels by the above-described program. Notice how the method has successfully recovered underlying bread colors of the highlighted valid pixels, those which are enclosed in oval shapes. FIG. 15 shows highlight correction of the entire image in which colors of non-valid pixels, those that are marked in black in FIG. 14, are associated with the color of the nearest neighboring non-highlighted pixels. Though these figures are in the form of a grey scale representation due to limitations in the use of colors, it can be seen that the underlying true colors of the bread have been recovered, even in the saturated highlighted parts, using just a single illumination light source and a single image.

[0073] The present invention is not limited to the above embodiment, and various modifications can be made within the scope of the invention. For example, though in the embodiment described above, the conditions, such as exposure time, aperture, height, and zooming factor, of the imaging device (camera 3) were adjusted so that the R, G, and B values of the RGB reflectance image of white diffuser paper will be approximately 80% of the imaging device's dynamic ranges for R, G, and B, respectively, the percentage of the imaging device's dynamic ranges that is used to adjust the conditions of the imaging device is not restricted to 80%, and any percentage, which is suitable for the imaging device's dynamic range and by which the objects of this invention can be attained, may be used.

[0074] Also, though in the pixel evaluation subroutine described above, a pixel of the object image is evaluated using the criterion that the RGB coordinates of a valid pixel are within 98% of camera 3's dynamic range, any other suitable criterion may be used by which valid pixels, which are pixels that are not fully saturated, can be distinguished from non-valid pixels, which are fully saturated pixels.

[0075] Also, though the threshold value THV, for distinguishing between a monochromatic pixel and a colored pixel, was set to 25% of the full scale of camera 3 in the value coordinate determination subroutine described above, this threshold value may be set to any other suitable value by which a monochromatic pixel can be distinguished from a colored pixel.

[0076] Also, instead of using the reflectivity ratios, ρ1, ρ2, and ρ3, of a red diffuser, green diffuser, and blue diffuser, respectively, which were provided the maker of the respective diffusers in the value coordinate determination subroutine described above, images of a red diffuser, green diffuser, and blue diffuser may be obtained by camera 3 in advance and the R_Max, G_Max, and B_Max to be used in the case of a colored pixel may be set equal to the R value R_(R) of the red diffuser image, the G value G_(G) of the green diffuser image, and the B value B_(B) of the blue diffuser image, respectively.

[0077] Furthermore, though an embodiment using a single illumination light source and a single object image was described above, two or more object images may be obtained by varying the position, orientation, or combination thereof of a single light source, using a plurality of light sources that differ in position, orientation, or combination thereof, varying the position, orientation, or combination thereof of the object, combining the abovementioned variation of the position, orientation, or combination thereof of a single light source with the abovementioned variation of the position, orientation, or combination thereof of the object, or combining the abovementioned use of a plurality of light sources that differ in position, orientation, or combination thereof and the abovementioned variation of the position, orientation, or combination thereof of the object. In this case, each object image may be obtained under light source and object conditions such that the fully saturated portions (non-valid pixels) of the image will not completely overlap with the fully saturated portions (non-valid pixels) of the other image or images. Or, each object image may be obtained under light source and object conditions such that the highlighted portions of the image will not completely overlap with the highlighted portions of the other image or images, and in this case, the highlighted image pixels may be identified based on that a criterion that an object image pixel, for which any of the R, G, or B values is greater than the corresponding R, G, or B value of the image of a white diffuser, is a highlighted pixel or the criterion that an object image pixel, for which the R value is greater than the R value of the image of a red diffuser or the G value is greater than the G value of the image of a green diffuser or the B value is greater than the B value of the image of a blue diffuser, is a highlighted pixel.

[0078] Each image obtained by any of such multiple illumination/view methods may then be subject to an image highlight correction program such as that described above, thereby providing a plurality of sets of estimated true RGB coordinates and then in an estimated true RGB coordinate set synthesizing subroutine, the plurality of sets of estimated true RGB coordinates of the object may be synthesized to form a synthesized set of estimated true RGB coordinates consisting only of estimated true RGB coordinates obtained from valid pixels. Or, the two or more images may be synthesized and the synthesized image may be subject to an image highlight correction program such as that described above to estimate the true colors of the object. Such methods provide the advantage of enabling accurate estimation of the true colors of a highly glossy object, the image of which will tend to contain large areas of saturated or non-valid pixels, and in many cases, just two object images will be necessary to provide an accurate estimation of the true colors.

[0079] Industrial Applicability

[0080] As has been described above, a method, program, or system by this invention enables the true colors of an object to be determined from the object's recorded image, which may contain, along with the object's true colors, the specular or interface reflectance that appears as highlight or gloss on the object. A method, program, or system by this invention can thus be used in any machine-vision or pattern recognition system that requires determination of an object's true colors in the recognition process. A method, program, or system by this invention is especially effective in cases where the image of the object contains fine or intricate variations of color. An image that is recorded through glass or other transparent object would contain specular reflectance components in forms of ghost images. A method, program, or system by this invention can be used to filter out such ghost images. A method, program, or system can thus be used in any machine-vision or pattern recognition system that captures objects image through a glass or transparency.

[0081] Application in the baking industry can be given as a specific example. An object's surface colors and surface color uniformity are important criteria in the quality control of baked products and are directly related to the optimal baking time. Accurate determination of the optimal baking time is quite complex and depends on the surrounding temperature and humidity level, the oven's temperature, and most importantly, the moisture content of the flours and baking powders that are used in the dough, the exact mixture ratio, and dough development time. According to experts in the field, the optimal backing time varies from batch to batch even for same type of mixtures and compounds. A machine-vision based oven system, which employs an image capturing device that captures images of baked objects through an oven's glass during the actual baking process, can be used to determine the optimal baking time through a feedback mechanism. A method, program, or system of this invention can be employed in such a machine-vision system to correct image highlights and filter out ghost images and thereby provide the true colors of baked objects, which may then be subject to object color analysis for automation of the optimal baking time determination process. 

1. An image highlight correction method comprising the steps of: obtaining the color of a light source to be used in imaging; illuminating said light source onto an object; obtaining an RGB reflectance image of said illuminated object using a color imaging device; plotting the color of the light source as a vector in RGB color space; constructing a plane, which is perpendicular to the light source vector and passes through the origin of RGB color space; projecting every pixel of said RGB image along the light source vector onto said perpendicular plane; constructing an illumination specific HSV color coordinate system by making the origin of the RGB color space be the origin of said illumination specific HSV color coordinate system, projecting the unit base vector, RGB(0, 0, 1), along said light source vector onto said perpendicular plane, making the axis, which connects said projected point and said origin, be the x-axis of said illumination specific HSV color coordinate system, making the axis perpendicular to said x-axis and lying in said perpendicular plane be the y-axis of said illumination specific HSV color coordinate system, and making the axis, which passes through said origin and is perpendicular to said x-axis and y-axis, be the z-axis of said illumination specific HSV color coordinate system; evaluating the validity of each pixel based on the criterion that the RGB coordinates of a valid pixel are unsaturated, that is, within said color imaging device's dynamic range; converting the coordinates of the projected RGB image points on the x-y plane into polar coordinates, for which the θ coordinate corresponds to the hue value and the r coordinate corresponds to the saturation value, by setting the positive side of said x-axis to correspond to θ=0° and determining the r coordinate as the length of the vector from the origin to a projected point and the θ coordinate as the counterclockwise angle in degrees with respect to θ=0°; converting the r, θ coordinates to saturation (S) and hue (H) values by projecting the RGB coordinates of the three primary colors RED, GREEN, and BLUE onto said plane, determining the r, θ coordinates of the projected points of the three primary colors, determining scaling factors for the respective primary colors and an offset for one primary color such as will provide a correlation of the r, θ coordinates of the primary colors with the known saturation and hue values for the primary colors, and applying said scaling factors and offset to the r, θ coordinates of the projected image pixel points to obtain the correct saturation and hue values, respectively, of the projected image pixel points; determining the non-highlight value coordinate V of each valid pixel; and estimating the true RGB coordinates of each pixel from said S, H, and V values of each pixel.
 2. An image highlight correction method according to claim 1, wherein in said step of determining the non-highlight value coordinate V of each valid pixel, the value coordinate V of each valid pixel is estimated using the following equation if the hue value H of a pixel is such that H<60.0 or H≧300.0 and the red (R) value of the pixel is less than a maximum non-highlight red value (R_Max); V=R using the following equation if said hue value H is such that H<60.0 or H≧300.0 and the red (R) value of the pixel is not less than said maximum non-highlight red value; V=R_Max using the following equation if said hue value H is such that 60.0≦H<180.0 and the green (G) value of the pixel is less than a maximum non-highlight green value (G_Max); V=G using the following equation if said hue value H is such that 60.0≦H<180.0 and the green (G) value of the pixel is not less than said maximum non-highlight green value; V=G_Max using the following equation if said hue value H is such that 180.0≦H<300.0 and the blue (B) value of the pixel is less than a maximum non-highlight blue value (B_Max); V=B or using the following equation if said hue value H is such that 180.0≦H<300.0 and the blue (B) value of the pixel is not less than a maximum non-highlight blue value (B_Max): V=B_Max
 3. An image highlight correction method according to claim 2 further comprising the steps of: performing white balance adjustment of said color imaging device using a white diffuser; setting the imaging conditions of said light source and said color imaging device so that the R, G, and B values of the reflectance RGB image of the white diffuser will be a predetermined percentage of the imaging device's dynamic ranges for R, G, and B, respectively; and obtaining a reflectance RGB image of the white diffuser; and wherein in said step of determining the non-highlight value coordinate V of each pixel, each valid pixel is distinguished as being a colored pixel or a monochromatic pixel based on the criterion that the saturation (S) value of a colored pixel is less than a threshold value and R_Max, G_Max, and B_Max are set follows in the case of a monochromatic pixel; R_Max=R_(W) G_Max=G_(W) B_Max=B_(W) where R_(W) is the R value of the white diffuser image, G_(W) is the G value of the white diffuser image, and B_(W) is the B value of the white diffuser image, and R_Max, G_Max, and B_Max are set as follows in the case of a colored pixel: R_Max=R _(W)×ρ1 G_Max=G _(W)×ρ2 B_Max=B _(W)×ρ3 where ρ1, ρ2, and ρ3 are the ratios of the reflectivity values of red, green and blue diffusers, respectively, with respect to the reflectivity value of said white diffuser.
 4. An image highlight correction method according to claim 2 further comprising the steps of: performing white balance adjustment of said color imaging device using a white diffuser; setting the imaging conditions of said light source and said color imaging device so that the R, G, and B values of the reflectance RGB image of the white diffuser will be a predetermined percentage of the imaging device's dynamic ranges for R, G, and B, respectively; and obtaining reflectance RGB images respectively of the white diffuser, a red diffuser, a green diffuser, and a blue diffuser; and in said step of determining the non-highlight value coordinate V of each pixel, each valid pixel is distinguished as being a colored pixel or a monochromatic pixel based on the criterion that the saturation (S) value of a colored pixel is less than a threshold value and R_Max, G_Max, and B_Max are set follows in the case of a monochromatic pixel; R_Max=R_(W) G_Max=G_(W) B_Max=B_(W) where R_(W) is the R value of the white diffuser image, G_(W) is the G value of the white diffuser image, and B_(W) is the B value of the white diffuser image, and R_Max, G_Max, and B_Max as follows in the case of a colored pixel: R_Max=R_(R) G_Max=G_(G) B_Max=B_(B) where R_(R) is the R value of the red diffuser image, G_(G) is the G value of the green diffuser image, and B_(B) is the B value of the blue diffuser image.
 5. An image highlight correction method according to claim 3 or 4, wherein said threshold value is 25% of the full scale of the color imaging device.
 6. An image highlight correction method according to any of claims 3 through 5, wherein said predetermined percentage of the imaging device's dynamic ranges is 80% of the imaging device's dynamic ranges.
 7. An image highlight correction method according to any of claims 1 through 6, wherein in said step of estimating the true RGB coordinates, the true RGB coordinates of each colored pixel are estimated from the S, H, and V values by an HSV-RGB transformation method, the true RGB coordinates of each monochromatic pixel are estimated using the following relationship; R=G=B=V and the true RGB coordinates of each non-valid pixel are estimated using an association with the colors of neighboring valid pixels.
 8. An image highlight correction method according to claim 7, wherein in said step of estimating the true RGB coordinates, the true RGB coordinates of each non-valid pixel are estimated using an association with the color of a nearest neighboring non-highlighted pixel with respect to the non-valid pixel.
 9. An image highlight correction method according to claim 8, wherein in said step of estimating the true RGB coordinates, the true RGB coordinates of each non-valid pixel are estimated as being equal to the estimated true RGB coordinates of a nearest neighboring non-highlighted pixel with respect to the non-valid pixel.
 10. An image highlight correction method according to claim 8 or 9, wherein in said step of estimating the true RGB coordinates, said nearest neighboring non-highlighted pixel with respect to the non-valid pixel is the non-highlighted pixel that has been processed most recently prior to the processing of the non-valid pixel in said step of estimating the true RGB coordinate of each pixel.
 11. An image highlight correction method according to any of claims 1 through 10, wherein said validity of each pixel is evaluated based on the criterion that none of the three RGB coordinates of a valid pixel exceed 98% of the full scale range of the color imaging device.
 12. An image highlight correction method, comprising the steps of performing the method of any of claims 1 through 11 to obtain a set of estimated true RGB coordinates of an object; changing the illumination, viewpoint, or combination of illumination and viewpoint of the object; performing the method of any of claims 1 through 11 to obtain another set of estimated true RGB coordinates of the object; repeating said step of changing the illumination, viewpoint, or combination of illumination and viewpoint of the object and said step of performing the method of any of claims I through 11; and synthesizing the sets of estimated true RGB coordinates of the object in a manner such that the synthesized set of estimated true RGB coordinates will consist only of estimated true RGB coordinates estimated from valid pixels.
 13. An image highlight correction method according to claim 12, wherein the change of illumination, viewpoint, or combination of illumination and viewpoint of the object is accomplished by changing the position, orientation, or combination of the position and orientation of a light source.
 14. An image highlight correction method according to claim 12, wherein the change of illumination, viewpoint, or combination of illumination and viewpoint of the object is accomplished by changing the light source to a light source of different color, intensity, position, orientation, or combination thereof.
 15. An image highlight correction method according to claim 12, wherein the change of illumination, viewpoint, or combination of illumination and viewpoint of the object is accomplished by changing the position, orientation, or combination of the position and orientation of the object.
 16. An image highlight correction method according to claim 12, wherein the change of Illumination, viewpoint, or combination of illumination and viewpoint of the object is accomplished by changing the position, field of view, dynamic range, or combination thereof of the color imaging device.
 17. An image highlight correction method according to any of claims 12 through 16, wherein the change of illumination, viewpoint, or combination of illumination and viewpoint of the object is performed in a manner such that the fully saturated pixels of the image of the object prior to said change do not completely overlap with the fully saturated pixels of the image of the object subsequent said change.
 18. An image highlight correction method according to any of claims 12 through 16, wherein the change of illumination, viewpoint, or combination of illumination and viewpoint of the object is performed in a manner such that the highlighted pixels of the image of the object prior to said change do not completely overlap with the highlighted pixels of the image of the object subsequent said change.
 19. An image highlight correction method according to any of claims 1 through 11, wherein the image that is obtained in said step of obtaining an RGB reflectance image of said object is a synthetic image that is obtained by synthesizing images, each of which has been obtained under a different positioning or orientation of said light source or a different positioning or orientation of said object.
 20. An image highlight correction method according to claim 19, wherein the images that are synthesized are such that the fully saturated pixels of each image of the object do not completely overlap with the fully saturated pixels of the other images of the object.
 21. An image highlight correction method according to claim 19, wherein the images that are synthesized are such that the highlighted pixels of each image of the object do not completely overlap with the highlighted pixels of the other images of the object.
 22. An image highlight correction method according to claim 18 or 21, further comprising the step of identifying the highlighted image pixels.
 23. An image highlight correction method according to claim 22, wherein in the step of identifying the highlighted image pixels, an object image pixel, for which any of the R, G, or B values is greater than the corresponding R, G, or B value of the image of a white diffuser, is identified as being a highlighted pixel.
 24. An image highlight correction method according to claim 22, wherein in the step of identifying the highlighted image pixels, an object image pixel, for which the R value is greater than the R value of the image of a red diffuser or the G value is greater than the G value of the image of a green diffuser or the B value is greater than the B value of the image of a blue diffuser, is identified as being a highlighted pixel.
 25. An image highlight correction program, comprising a light source color vector acquisition subroutine, in which the color of a light source is obtained as a vector in RGB color space; an object RGB image acquisition subroutine, in which an RGB image of an object illuminated by said light source is obtained; a pixel validity evaluation subroutine, in which the validity of each pixel is evaluated based on the criterion that the RGB coordinates of a valid pixel are within the color imaging device's dynamic range, an HSV color coordinate plane projection subroutine, in which every pixel of said RGB image are projected, along the light source vector, onto the x-y plane of an illumination specific HSV color coordinate system, with which the x-y plane is defined as the plane that is perpendicular to the light source vector and passes through the origin of RGB color space, the origin is defined by said origin of RGB space, the x-axis is defined by the axis, which connects said origin and the point of projection of the unit base vector, RGB(0, 0, 1), along said light source vector onto said x-y plane, the y-axis is defined as the axis perpendicular to said x-axis and lying in said perpendicular plane, and the z-axis is defined as the axis, which passes through said origin and is perpendicular to said x-axis and y-axis; an r, θ coordinate conversion subroutine, in which the coordinates of the projected points on the x-y plane are converted into polar coordinates, with which the θ coordinate corresponds to the hue value and the r coordinate corresponds to the saturation value, by setting the positive side of said x-axis to correspond to θ=0° and determining the r coordinate as the length of the vector from the origin to a projected point and the θ coordinate as the counterclockwise angle in degrees with respect to θ=0°; a saturation and hue value conversion subroutine in which the r, θ coordinates are converted to saturation and hue values by projecting the RGB coordinates of the three primary colors RED, GREEN, and BLUE onto said plane, determining the r, θ coordinates of the projected points of the three primary colors, determining scaling factors for the respective primary colors and an offset for one primary color such as will provide a correlation of the r, θ coordinates of the primary colors with the known saturation and hue values for the primary colors, and applying said scaling factors and offset to the r, θ coordinates of the projected image pixel points to obtain the correct saturation and hue values, respectively, of the projected image pixel points, a non-highlight value coordinate determination subroutine, in which the value coordinate V of each valid pixel is determined, and a true RGB coordinate estimation subroutine, in which the true RGB coordinates of each pixel are estimated from said S, H, and V values of each valid pixel.
 26. An image highlight correction program according to claim 25, wherein in said non-highlight value coordinate determination subroutine, the value coordinate V of each valid pixel is estimated by using the following equation if the hue value H of a pixel is such that H<60.0 or H≧300.0 and the red (R) value of the pixel is less than a maximum non-highlight red value (R_Max); V=R using the following equation if said hue value H is such that H<60.0 or H≧300.0 and the red (R) value of the pixel is not less than said maximum non-highlight red value; V=R_Max using the following equation if said hue value H is such that 60.0≦H<180.0 and the green (G) value of the pixel is less than a maximum non-highlight green value (G_Max); V=G using the following equation if said hue value H is such that 60.0≦H<180.0 and the green (G) value of the pixel is not less than said maximum non-highlight green value; V=G_Max using the following equation if said hue value H is such that 180.0≦H<300.0 and the blue (B) value of the pixel is less than a maximum non-highlight blue value (B_Max); V=B or using the following equation if said hue value H is such that 180.0≦H<300.0 and the blue (B) value of the pixel is not less than a maximum non-highlight blue value (B_Max): V=B_Max
 27. An image highlight correction program according to claim 26 wherein in said non-highlight value coordinate determination subroutine, each valid pixel is distinguished as being a colored pixel or a monochromatic pixel based on the criterion that the saturation (S) value of a colored pixel is less than a threshold value and said non-highlight value coordinate determination subroutine contains a maximum non-highlight value determination subroutine, in which R_Max, G_Max, and B_Max are set follows in the case of a monochromatic pixel; R_Max=R_(W) G_Max=G_(W) B_Max=B_(W) where R_(W) is the R value of the image of a white diffuser, G_(W) is the G value of said white diffuser image, and B_(W) is the B value of said white diffuser image, and R_Max, G_Max, and B_Max are set as follows in the case of a colored pixel: R_Max=R _(W)×ρ1 G_Max=G _(W)×ρ2 B_Max=B _(W)×ρ3 where ρ1, ρ2, and ρ3 are the ratios of the reflectivity values of red, green and blue diffusers, respectively, with respect to the reflectivity value of said white diffuser.
 28. An image highlight correction program according to claim 26 wherein in said non-highlight value coordinate determination subroutine, each valid pixel is distinguished as being a colored pixel or a monochromatic pixel based on the criterion that the saturation (S) value of a colored pixel is less than a threshold value and said non-highlight value coordinate determination subroutine contains a maximum non-highlight value determination subroutine, in which R_Max, G_Max, and B_Max are set follows in the case of a monochromatic pixel; R_Max=R_(W) G_Max=G_(W) B_Max=B_(W) where R_(W) is the R value of the image of a white diffuser, G_(W) is the G value of said white diffuser image, and B_(W) is the B value of said white diffuser image, and R_Max, G_Max, and B_Max as follows in the case of a colored pixel: R_Max=R_(R) G_Max=G_(G) B_Max=B_(B) where R_(R) is the R value of the image of a red diffuser, G_(G) is the G value of the image of a green diffuser, and B_(B) is the B value of the image of a blue diffuser.
 29. An image highlight correction program according to claim 27 or 28, wherein in said value coordinate determination subroutine, said threshold value is set to 25% of the full scale of the color imaging device.
 30. An image highlight correction program according to any of claim 25 through 29, wherein in said true RGB coordinate estimation subroutine, the true RGB coordinates of each colored pixel are estimated from the S, H, and V values by an HSV-RGB transformation method, the true RGB coordinates of each monochromatic pixel are estimated using the following relationship, and R=G=B=V the true RGB coordinates of each non-valid pixel are estimated using an association with the colors of neighboring non-highlighted pixels.
 31. An image highlight correction program according to claim 30, wherein in said true RGB coordinate estimation subroutine, the RGB coordinates of each non-valid pixel are estimated using an association with the color of a nearest neighboring non-highlighted pixel with respect to the non-valid pixel.
 32. An image highlight correction program according to claim 31, wherein in said true RGB coordinate estimation subroutine, the RGB coordinates of each non-valid pixel are estimated as being equal to the RGB coordinates of a nearest neighboring non-highlighted pixel with respect to the non-valid pixel.
 33. An image highlight correction program according to claim 31 or 32, wherein said nearest neighboring non-highlighted pixel with respect to the non-valid pixel is the non-highlighted pixel that has been processed most recently prior to the processing of the non-valid pixel in said true RGB coordinate estimation subroutine.
 34. An image highlight correction program according to any of claims 25 through 33, wherein in said pixel validity evaluation subroutine, said validity of each pixel is evaluated based on the criterion that none of the three RGB coordinates of a valid pixel exceed 98% of the full scale range of the color imaging device.
 35. An image highlight correction program according to any of claims 25 through 34, further comprising an estimated true RGB coordinate set synthesizing subroutine, in which a plurality of sets of estimated RGB coordinates of objects are synthesized to form a synthesized set of estimated true RGB coordinates consisting only of estimated true RGB coordinates obtained from valid pixels.
 36. An image highlight correction program according to any of claims 25 through 35, further comprising a highlighted image pixel identification subroutine, in which the highlighted image pixels are identified.
 37. An image highlight correction program according to claim 36, wherein in said highlight image pixel identification subroutine, an object image pixel, for which any of the R, G, or B values is greater than the corresponding R, G, or B value of the image of a white diffuser, is identified as being a highlighted pixel.
 38. An image highlight correction program according to claim 36, wherein in said highlight image pixel identification subroutine, an object image pixel, for which the R value is greater than the R value of the image of a red diffuser or the G value is greater than the G value of the image of a green diffuser or the B value is greater than the B value of the image of a blue diffuser, is identified as being a highlighted pixel.
 39. An image acquisition system, comprised of a light source; a color imaging device, for capturing the color of the light of said light source and the reflected light from an object illuminated by said light source; and a computing means, having installed therein a program as set forth in any of claims 25 through
 38. 40. An image acquisition system, comprised of a light source; a color imaging device, for capturing the color of the light of said light source and the reflected light from an object illuminated by said light source; a means for changing the position of said light source, orientation of said light source, position of said object, orientation of said object, or combination of the position of said light source, orientation of said light source, position of said object, and orientation of said object, and a computing means, having installed therein a program, which synthesizes images taken under different positions of said light source, orientations of said light source, positions of said object, orientations of said object, or combinations of the position of said light source, orientations of said light source, position of said object, and orientation of said object and provides a synthetic image of the object as an RGB reflectance image of said object, and a program as set forth in any of claims 25 through
 38. 41. An image acquisition system according to claim 40, wherein said means for changing the position of said light source, orientation of said light source, position of said object, orientation of said object, or combination of the position of said light source, orientation of said light source, position of said object, and orientation of said object makes said change in a manner such that the fully saturated pixels of the image of the object prior to said change do not completely overlap with the fully saturated pixels of the image of the object subsequent said change.
 42. An image acquisition system according to claim 40, wherein said means for changing the position of said light source, orientation of said light source, position of said object, orientation of said object, or combination of the position of said light source, orientation of said light source, position of said object, and orientation of said object makes said change in a manner such that the highlighted pixels of the image of the object prior to said change do not completely overlap with the highlighted pixels of the image of the object subsequent said change.
 43. An image acquisition system, comprised of a light source or a plurality of light sources, which differ in color, position, orientations, intensity, or combination thereof, a color imaging device or a plurality of color imaging devices, for capturing the color of the light of the light source and the reflected light from an object illuminated by the light source, a means for changing the illumination, viewpoint, or combination of illumination and viewpoint of the object, and a computing means, having installed therein a program as set forth in claim
 30. 44. An image acquisition system according to claim 43, wherein said means for changing the illumination, viewpoint, or combination of illumination and viewpoint of the object in a manner such that the fully saturated pixels of the image of the object prior to said change do not completely overlap with the fully saturated pixels of the image of the object subsequent said change.
 45. An image acquisition system according to claim 43, wherein said means for changing the illumination, viewpoint, or combination of illumination and viewpoint of the object in a manner such that the highlighted pixels of the image of the object prior to said change do not completely overlap with the highlighted pixels of the image of the object subsequent said change.
 46. An image acquisition system as set forth in any of claims 43 to 45, wherein said means for changing the illumination, viewpoint, or combination of illumination and viewpoint of the object is a means, which changes the position, orientation, or combination of position and orientation of a single light source.
 47. An image acquisition system according to any of claim 43 to 45, wherein said means for changing the illumination, viewpoint, or combination of illumination and viewpoint of the object is a means, which changes the light source that illuminates the object.
 48. An image acquisition system according to any of claims 43 to 45, wherein said means for changing the illumination, viewpoint, or combination of illumination and viewpoint of the object is a means, which changes the orientation, position, or combination of orientation and position of the object.
 49. An image acquisition system according to any of claims 43 to 45, wherein said means for changing the illumination, viewpoint, or combination of illumination and viewpoint of the object is a means, which changes the position, field of view, or combination of position and field of view of a single color imaging device.
 50. An image acquisition system according to any of claim 43 to 45, wherein said means for changing the illumination, viewpoint, or combination of illumination and viewpoint of the object is a means, which changes the color imaging device used to capture the reflected light from an object illuminated by the light source. 